/*
 * ListenersLoader.h
 *
 *  Created on: Mar 16, 2009
 *      Author: Andrzej Olchawa
 *      mailto: andrzejolchawa@gmail.com
 *      http://www.hardtechnology.org
 *      This is a part of the Armazd project, which is covered by
 *      GNU GPL v2 license.
 */

#ifndef LISTENERSLOADER_H_
#define LISTENERSLOADER_H_

/* Include section */
#include <iostream>

#include "Listener.h"
#include "AgentDefinitions.h"
#include "AgentUtils.h"
#include "AgentException.h"
#include "AgentConfiguration.h"
#include "ListenerFile.h"
#include "ListenerPort.h"
#include "HTFramework/HTProperties.h"
#include "HTFramework/HTPropertiesElement.h"

/* namespace declaration */
using namespace std;

/* ListenersLoader class definition */
class ListenersLoader
{

private:

	/* Variables related with listeners */
	list<Listener*>  *listOfListeners;
	string listenersLocation;

public:

	/* Constructors and destructor */
	ListenersLoader();
	virtual ~ListenersLoader();

	/* Getters and setters */
	string getListenersLocation();
	list<Listener*> *getListOfListeners();

	void setListenersLocation(string);
	list<Listener*> *setListOfListeners(list<Listener*> *);

	/* Functions related with listeners loading */
	void loadListeners();
	list<Listener*> *loadListeners(list<Listener*> *);
};

#endif /* LISTENERSLOADER_H_ */
